The present invention is directed to the field of service provider allocation.
Many service organizations need to dynamically allocate their servers in order to attain certain goals. Such allocation is typically performed manually. Servers may include service agents, both human and robotic. Increasingly, external performance measures of service delivered dominate internal cost measures, such as utilization and labor costs. Such external measures often consist of classifying certain transactions into meeting or not meeting desired objectives and determining a proportion of those transactions that meet objectives. Such a proportion is called a service level. The service level is measured over some period of time or over some number of transactions.
Examples of service levels are the percentage of customer problems resolved without further activity, the percentage of dispatched taxicabs that reach the rider within the committed time, the proportion of telephone calls handled by a qualified representative without requiring a transfer or referral to another server, the proportion of telephone calls that can be connected to a server without delay, the proportion of e-mail requests that are answered within 24 hours, the percentage of on-time departures of city buses on a particular bus route on weekdays, the proportion of transactions handled not resulting in a customer complaint, the proportion of preferred customer calls handled by fully qualified servers, the percentage of Spanish customers handled by a server fluent in Spanish, the percentage of telephone calls not abandoned by the customer before connection to a server, the percentage of customer inquiry telephone calls that are not blocked at the central office switch, the percentage of customer sessions with the self-service World Wide Web pages that are not aborted while waiting for a display, the percentage of customer requests via telephone that can be completed immediately while on the phone, the percentage of loan applications processed within one-half hour from the time of the request, and the percentage of priority telephone calls answered within 8 seconds and handled properly by a qualified server, to name a few.
A service organization""s goal for a service level in this context is a particular desired value of the service level. The goal is said to be satisfied if the attained service level is at least as high as the desired service level for the goal. Conversely, the goal is said to be unattained if the realized service level is less than the desired service level. For example, the goal of at least 85% of telephone calls from preferred customers each day being answered within 12 seconds would be attained if, among the telephone calls from preferred customers during the current day, 87% were answered within 12 seconds; inversely, if only 84% of such calls are answered within 12 seconds, the goal would be unattained. In this framework the goal is either attained or not. Moreover, no extra benefit is assumed to accrue for attaining a service level much higher than the goal.
The number of server resources allocated to a type of service often affects the service level achieved for that type of service. When such is the case, the operation can usually reallocate servers to the subject work in order to achieve service level goals. Such reallocation generally incurs opportunity cost; however, since service levels for other work suffer. One can often justify this opportunity cost based on an appropriate priority hierarchy.
For example, suppose servers in a call center can handle both loan servicing and sales servicing transactions. When more servers are assigned to sales activities, sales servicing transactions experience a higher service level on answer delayxe2x80x94that is, the amount of time required to answer each sales call declines. Meanwhile, the loan servicing calls are not answered as promptly, reducing the service level for loan servicing transactions. The service organization may rationalize this by saying that loan servicing is relatively less important because it is not very likely that an existing customer will switch loan companies, and that the company presently needs to acquire new customers that could easily take their business to a competitor if their calls are not answered promptly. The service organization wants to satisfy the goal of loan servicing, but not at the expense of failing to reach the goal in sales. When the sales goal is not in jeopardy, but the loan servicing is failing to meet its goal, the service organization desires to allocate more resources to loan servicing. The service organization wants to meet both goals, but the sales goal is more important than the loan servicing goal and so may preempt it. That is, if the operation can only meet one goal it should be the sales goal.
The desire to allocate more server resources to some activity is typically contingent upon the alternative activities that the server resources can perform and the demand for such alternative activities. Each of these alternative activities is also potentially associated with various service levels, each of which has a goal and a level of attainment. So the reallocation of resources can depend upon service measures for all alternative work associated with each of the resources. Manually performing such a potentially complex allocation function can produce significantly sub-optimal results. Often the manual allocation is too late and leads to more problems when the reallocated servers are not returned to their preferred work soon enough.
The advent of skills-based routing, in which the skills of each individual server are considered in allocating servers, complicates the situation. This approach cannot tolerate simplifying fragmentation of resources into monolithic pools where distinguishing skills are ignored. For this reason, conventional automatic call distributors (xe2x80x9cACDsxe2x80x9d) fail to meet this need. ACDs may force users to manipulate server xe2x80x9cskillsxe2x80x9d in order to effect a reallocation of servers, and the ACD may report xe2x80x9cservice levelsxe2x80x9d only on skill demands or on some kind of queuing point on a distribution map. However, sometimes a xe2x80x9cskillxe2x80x9d is actually a type of work instead of an attribute of the server""s capabilities. These conventional solutions constitute potentially severe limitations on the monitoring and control of service levels important to the service organization.
In this environment, the service organization wants to provide preferential treatment to work activities in a hierarchy that ensures that the best work item is given to a server in view of attained service levels and the stated priorities of service level goals. An automated system that dynamically assigned available servers to queued work items based on the attainment or non-attainment of service levels for the service goals pertaining to queued work items would have significant utility.
The present invention provides hierarchical remediation on the unmet service needs associated with work items queued in a work processing facility in order to maximize the achievement of service level goals. A hierarchical remediator and corresponding hierarchical remediation method may each be employed in a work distributor, an automatic call distributor (xe2x80x9cACDxe2x80x9d), or a similar facility.
The hierarchical remediator typically performs its tasks when a server becomes available for work and when work items of more than one work type are queued pending distribution. The hierarchical remediator determines which work item of the queued work items will be distributed to the available server. The hierarchical remediator may select a work item from among other queued work items on the basis of a composite preference value for the work item, according to an embodiment of the invention. The hierarchical remediator and its corresponding hierarchical remediation method ensure that more important jeopardized service levels receive greater remedial compensation than the less important ones.
The hierarchy of distinct service classes associated with jeopardized service levels may comprise one input to the hierarchical remediator, according to an embodiment of the invention. The hierarchical remediator locates preference values associated with the service classes that are monotonic with respect to their position in the hierarchy. A service class is the part of the service level goal that defines the set of transactions that apply to the goal. The hierarchical remediator may also consider a skill preference profile for the available server as another input, according to an embodiment of the invention. The hierarchical remediator generates a composite preference value for each alternative work item from among the work items queued in the work processing facility, according to an embodiment of the invention. The hierarchical remediator selects which work item to distribute to the available server by identifying the work item having the highest composite preference value.
Embodiments of the hierarchical remediator and the corresponding hierarchical remediation method may be directed to apply a variety of user-supplied functions in order to perform the calculations associated with the composite preference values.
The hierarchical remediator allows a work processing facility to control service performance largely without consideration of the organization of the servers, the organization of the work, or the profiles of the servers. The hierarchical remediator dynamically biases the assignment of servers to improve service performance in various targeted service classes.